| 1: | active(zeros) | → mark(cons(0,zeros)) | |
| 2: | active(tail(cons(X,XS))) | → mark(XS) | |
| 3: | active(cons(X1,X2)) | → cons(active(X1),X2) | |
| 4: | active(tail(X)) | → tail(active(X)) | |
| 5: | cons(mark(X1),X2) | → mark(cons(X1,X2)) | |
| 6: | tail(mark(X)) | → mark(tail(X)) | |
| 7: | proper(zeros) | → ok(zeros) | |
| 8: | proper(cons(X1,X2)) | → cons(proper(X1),proper(X2)) | |
| 9: | proper(0) | → ok(0) | |
| 10: | proper(tail(X)) | → tail(proper(X)) | |
| 11: | cons(ok(X1),ok(X2)) | → ok(cons(X1,X2)) | |
| 12: | tail(ok(X)) | → ok(tail(X)) | |
| 13: | top(mark(X)) | → top(proper(X)) | |
| 14: | top(ok(X)) | → top(active(X)) | |
| 15: | ACTIVE(zeros) | → CONS(0,zeros) | |
| 16: | ACTIVE(cons(X1,X2)) | → CONS(active(X1),X2) | |
| 17: | ACTIVE(cons(X1,X2)) | → ACTIVE(X1) | |
| 18: | ACTIVE(tail(X)) | → TAIL(active(X)) | |
| 19: | ACTIVE(tail(X)) | → ACTIVE(X) | |
| 20: | CONS(mark(X1),X2) | → CONS(X1,X2) | |
| 21: | TAIL(mark(X)) | → TAIL(X) | |
| 22: | PROPER(cons(X1,X2)) | → CONS(proper(X1),proper(X2)) | |
| 23: | PROPER(cons(X1,X2)) | → PROPER(X1) | |
| 24: | PROPER(cons(X1,X2)) | → PROPER(X2) | |
| 25: | PROPER(tail(X)) | → TAIL(proper(X)) | |
| 26: | PROPER(tail(X)) | → PROPER(X) | |
| 27: | CONS(ok(X1),ok(X2)) | → CONS(X1,X2) | |
| 28: | TAIL(ok(X)) | → TAIL(X) | |
| 29: | TOP(mark(X)) | → TOP(proper(X)) | |
| 30: | TOP(mark(X)) | → PROPER(X) | |
| 31: | TOP(ok(X)) | → TOP(active(X)) | |
| 32: | TOP(ok(X)) | → ACTIVE(X) | |